$(function () {
    let layer = layui.layer
    let form = layui.form

    initArtCateList()
    // ^ 获取文章类别列表
    function initArtCateList() {
        $.ajax({
            method: 'GET',
            url: '/my/article/cates',
            success: function (res) {
                let htmlStr = template('tpl-table', res)
                $('tbody').html(htmlStr)
            },
        })
    }

    // ^ 为添加类别按钮绑定事件
    let indexLayerOpen = null
    $('#btnAddCate').on('click', function () {
        indexLayerOpen = layer.open({
            type: 1,
            area: ['500px', '260px'],
            title: '添加文章分类',
            content: $('#dialog-add').html(),
        })
    })

    // ^ 为 form-data 表单代理到 body 上 监听提交事件
    $('body').on('submit', '#form-add', function (e) {
        e.preventDefault()
        $.ajax({
            method: 'POST',
            url: '/my/article/addcates',
            data: $(this).serialize(),
            success: function (res) {
                if (res.status !== 0) {
                    console.log(res)
                    return layer.msg('新增分类失败！')
                }
                initArtCateList()
                layer.msg('新增分类成功！')
                // 根据索引，关闭对应的弹出层
                layer.close(indexLayerOpen)
            },
        })
    })

    // ^ 通过代理的形式 为 btn-edit 按钮绑定点击事件
    let indexEdit = null
    $('tbody').on('click', '.btn-edit', function () {
        //& 弹出一个修改文章分类信息的层
        indexEdit = layer.open({
            type: 1,
            area: ['500px', '250px'],
            title: '修改文章分类',
            content: $('#dialog-edit').html(),
        })

        // ^ 根据 Id 获取文章分类数据
        let id = $(this).attr('data-id')
        $.ajax({
            method: 'GET',
            url: '/my/article/cates/' + id,
            success: function (res) {
                form.val('form-edit', res.data)
            },
        })
    })

    // ^ 根据 Id 更新文章分类数据 通过代理的形式
    $('body').on('submit', '#form-edit', function (e) {
        e.preventDefault()
        $.ajax({
            method: 'POST',
            url: '/my/article/updatecate',
            data: $(this).serialize(),
            success: function (res) {
                if (res.status !== 0) {
                    return layer.msg('更新类别失败')
                }
                layer.msg('更新类别失败')
                layer.close(indexEdit)
                initArtCateList()
            },
        })
    })

    // ^根据 Id 删除文章分类数据 通过代理的形式
    $('tbody').on('click', '.btn-delete', function () {
        let id = $(this).attr('data-id')
        layer.confirm('确认删除?', { icon: 3, title: '提示' }, function (index) {
            $.ajax({
                method: 'GET',
                url: '/my/article/deletecate/' + id,
                success: function (res) {
                    console.log('id:' + id);
                    console.log(res);
                    if (res.status !== 0) {
                        return layer.msg('删除分类失败！')
                    }
                    layer.msg('删除分类成功！')
                    layer.close(index)
                    initArtCateList()
                },
            })
        })
    })
    //   $('tbody').on('click', '.btn-delete', function () {
    //     var id = $(this).attr('data-id')
    //     // 提示用户是否要删除
    //     layer.confirm('确认删除?', { icon: 3, title: '提示' }, function (index) {
    //       $.ajax({
    //         method: 'GET',
    //         url: '/my/article/deletecate/' + id,
    //         success: function (res) {
    //           if (res.status !== 0) {
    //             return layer.msg('删除分类失败！')
    //           }
    //           layer.msg('删除分类成功！')
    //           layer.close(index)
    //           initArtCateList()
    //         },
    //       })
    //     })
    //   })
})
